﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUS.ISS.ARS.BusinessEntity;
using NUS.ISS.ARS.BusinessEntity.ViewModels;
using NUS.ISS.ARS.Common;

namespace NUS.ISS.ARS.BusinessFacade.Interface
{
    public interface IAdminBF
    {
        ICollection<FlightSchedule> GetAllFlightSchedules();
        ICollection<Aircraft> GetAllAircraft();
        ICollection<Country> GetAllCountries();
        SaveResult SaveAircraft(Aircraft aircraft);
        FlightScheduleView GetFlightSchedulesById(long id);
        IEnumerable<Aircraft> IEnumGetAllAircraft();
        IEnumerable<Airport> IEnumGetAllAirport();
        IEnumerable<FlightScheduleView> IEnumGetAllFlightSchedules();
        IEnumerable<FlightScheduleView> GetFlightSchedulesByFlightNumberAirport(string flightNumber, string airportFrom, string airportTo);
        IEnumerable<FlightScheduleView> GetFlightSchedulesByFlightDateFlightNumberCityFromCityTo(DateTime flightdate, string flightNumber, string cityFrom, string cityTo);
        SaveResult SaveChangedSchedule(FlightScheduleView schedule);
        SaveResult SaveSchedule(FlightScheduleView schedule);
        IEnumerable<CancelBookingTripView> GetFlightBookingsByRefNoAndFirstNameAndLastName(string refNo, string firstName, string lastName);
        IEnumerable<CancelBookingTripView> IEnumGetFlightBookings();

    }
}
